package tasks.leetcode;

/**
 * https://leetcode.cn/problems/reverse-integer/?company_slug=huawei
 */
public class TaskReverse {
    public static void main(String[] args) {
        int reverse = new TaskReverse().reverse(1234567891);
        System.out.println(reverse);
    }

    public int reverse(int x) {
        int result = 0;
        while (x != 0) {
            // 注意边界，只有x的值是小于最小值的百分之10或者x的值大于最大值的百分之10，result的值将会超过integer的最大值
            if (result < Integer.MIN_VALUE / 10 || result > Integer.MAX_VALUE / 10) {
                return 0;
            }
            int digits = x % 10;
            x = x / 10;
            result = result * 10 + digits;
        }
        return result;
    }

}
